GXExcludeShape
You can use theGXExcludeShape
function to find the result of performing the exclusive-OR operation on two shapes.
void GXExcludeShape(gxShape target, gxShape operand);
target
- On input, a reference to one of the shapes on which to perform the exclusive-OR operation. On output, a reference to a shape describing the exclusive-OR of the two shapes.
operand
- A reference to the other shape on which to perform the exclusive-OR operation.
DESCRIPTION
TheGXExcludeShape
function performs an exclusive-OR operation on the target and operand shapes, and stores the result in the target shape.The exclusion of two shapes (the result of the exclusive-OR operation) is the area contained by the union of the two shapes less the area contained by the intersection of the two shapes.
This function considers the shape fill, the style modifications, and the transform mapping of the target and test shapes. Only areas that are drawn are considered when calculating the difference.
Neither the target shape nor the operand shape may have one of the framed fills (open-frame or closed-frame).
If you provide a target or operand shape that is not one of the geometric shape types, this function performs the actions described in the following table:
Shape type Action taken bitmap Posts the error shape_operator_may_not_be_a_bitmap
picture Posts the error shape_operator_may_not_be_a_picture
text Converts to path shape if other parameter is not an empty shape or a full shape glyph Converts to path shape if other parameter is not an empty shape or a full shape layout Converts to path shape if other parameter is not an empty shape or a full shape ERRORS, WARNINGS, AND NOTICES
Errors out_of_memory shape_is_nil number_of_contours_exceeds_implementation_limit number_of_points_exceeds_implementation_limit size_of_path_exceeds_implementation_limit size_of_polygon_exceeds_implementation_limit fill_type_not_allowed (debugging version) shape_access_not_allowed (debugging version) clip_to_frame_shape_unimplemented (debugging version) shape_operator_may_not_be_a_bitmap (debugging version) shape_operator_may_not_be_a_picture (debugging version) Warnings character_substitution_took_place font_substitution_took_place unable_to_traverse_open_contour_that_starts_or_ends_off_the_curve (debugging version) SEE ALSO
For examples using this function, see "Performing Geometric Arithmetic With Shapes" beginning on page 4-60.For a discussion of geometric arithmetic, see "Geometric Arithmetic" beginning on page 4-21.
For a discussion of shape fills, see Chapter 2, "Geometric Shapes," in this book.
For a discussion of style modifications, see Chapter 3, "Geometric Styles," in this book.
For a discussion of transform mappings, see the chapter "Transform Objects" in Inside Macintosh: QuickDraw GX Objects.
For information about related functions, see the description of the
GXIntersectShape
function on page 4-107, theGXUnionShape
function on page 4-109, theGXDifferenceShape
function on page 4-110, and theGXReverseDifferenceShape
function on page 4-112.
Main | Page One | What's New | Apple Computer, Inc. | Find It | Contact Us | Help